Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

79
Views
TypeError no capturado: el objeto no es iterable -> usando contexto con reductor

Estoy aprendiendo a usar useContext y useReducer juntos, pero recibo un error que no he logrado resolver:

TypeError no detectado: el objeto no es iterable (no se puede leer la propiedad Symbol(Symbol.iterator))

Ocurrió después de desestructurar el contexto dentro de MealItemForm.js. Intenté establecer el valor predeterminado en createContext, importar con y sin llaves, etc. Estoy tratando de enviar la función dentro del componente secundario. ¿Alguna idea?

MealItemForm.js

 import React,{useContext} from 'react'; import MeatContext from '../store/meat-context'; import Input from './Input'; import styles from "./MealItemForm.module.css" function MealItemForm(props) { const [meatState,dispatchMeatState]=useContext(MeatContext) const handleClick=(event)=>{ event.preventDefault(); } return ( <form className={styles.form}> <Input/> <button onClick={handleClick}>+ Add</button> </form> ); } export default MealItemForm;

contexto-carne.js

 import React,{useReducer,useState} from 'react'; const MeatContext = React.createContext({meatState:[]}); export function MeatContextProvider(props) { const meatReducer = (state, action) => { if (action.type === 'ADD_MEAT') { return [...meatState]; } return { }; }; const [meatState, dispatchMeatState] = useReducer(meatReducer, [ ] ); return ( <MeatContext.Provider value={{meatState:meatState,dispatchMeatState:dispatchMeatState}}> {props.children} </MeatContext.Provider> ); } export default MeatContext
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El valor proporcionado a Context es un objeto.

 {meatState:meatState,dispatchMeatState:dispatchMeatState}

Pero está utilizando la desestructuración de matrices mientras obtiene los valores

 const [meatState, dispatchMeatState ] = useContext(MeatContext)

Usar la desestructuración de objetos debería resolverlo,

 const { meatState, dispatchMeatState } = useContext(MeatContext)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!